package offerbook;

/**A-Z表示1-26列， AA表示27列，AB表示28列，输入String求对应的列
 * @date 2020/3/8 15:20
 */
public class Code10_26jinzhi {
    //从低位往高位计算
    public static int getCol(String strCol) {
        int col = 0;
        //如AB长为 2， 那么B的位置i = 1就是26^0次幂 ,A的位置i=0是26^1 次幂
        //若长为len， i位置处就是 len -1 - i次幂
        for (int i = strCol.length() -1; i >= 0; i--) {
            int index = strCol.charAt(i) - 'A' + 1;
            col += index*Math.pow(26,strCol.length()-1-i);
        }
        return col;
    }

    public static void main(String[] args) {
        System.out.println(getCol("AB"));
    }
}
